package projectmanagement.managementtool.ProjectServices;

import java.util.Calendar;
import java.util.Collection;

import projectmanagement.models.Iteration;
import projectmanagement.models.Project;
import projectmanagement.models.Task;

/**
 * 
 * @author Constantin Noga
 * 
 */
public interface ProjectService {

	Project createProject(String projectName, Calendar projectStartDate, Calendar projectFinishDate, String projectDescription);

	Project updateProject(Project project);

	void deleteProject(Project project);
	
	Collection<Project> showListOfProjects();

	Collection<Iteration> showListOfProjectIterations();

    public Project getProjectById(int id);
	
    public Project getProjectByName(String name);
    
    public boolean isProjectNameValid(String name);
    
    public int getIdByProjectName(String name);

    public boolean addTask(int projectId, Task task);
}